From: Florian Müllner Date: Mon, 13 Feb 2023 22:48:39 +0000 (+0100) Subject: status/volume: Unmute to default volume when at 0 X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~393^2^2~77 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7e23875bc4a88a02f0a2623a2a01700d624c25d5;p=gnome-shell.git status/volume: Unmute to default volume when at 0 The stream can be muted by clicking the icon, or by dragging the slider to 0. In the latter case, clicking the icon to unmute the stream will not do anything (at least apparently). Settings addresses this in its Sound panel by using a default volume of 25% in that case, so do the same in the Shell. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6393 Part-of: --- diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js index 078805c3e..fd6c8e7d6 100644 --- a/js/ui/status/volume.js +++ b/js/ui/status/volume.js @@ -9,6 +9,7 @@ const PopupMenu = imports.ui.popupMenu; const {QuickSlider, SystemIndicator} = imports.ui.quickSettings; const ALLOW_AMPLIFIED_VOLUME_KEY = 'allow-volume-above-100-percent'; +const UNMUTE_DEFAULT_VOLUME = 0.25; // Each Gvc.MixerControl is a connection to PulseAudio, // so it's better to make it a singleton @@ -60,7 +61,13 @@ const StreamSlider = GObject.registerClass({ if (!this._stream) return; - this._stream.change_is_muted(!this._stream.is_muted); + const {isMuted} = this._stream; + if (isMuted && this._stream.volume === 0) { + this._stream.volume = + UNMUTE_DEFAULT_VOLUME * this._control.get_vol_max_norm(); + this._stream.push_volume(); + } + this._stream.change_is_muted(!isMuted); }); this._deviceItems = new Map();